home *** CD-ROM | disk | FTP | other *** search
/ Apple Reference & Presen…on Library 1994 September / ARPLE-Sept-94-Supplement.iso / AppleSoft / System 7.5 Demos *Revised* / System Folder / Extensions / QuickDraw™ GX / QuickDraw™ GX.rsrc / psbt_-28348 < prev    next >
Encoding:
Text File  |  1994-08-19  |  3.3 KB  |  203 lines

  1.  
  2. S/NewAugGstate {
  3. 11 dict dup begin
  4. /xBold 0 def
  5. /yBold 0 def
  6. /dash null def
  7. /rightIsOut false def
  8. /frameType 0 def
  9. /FontMapping    [1 0 0 1 0 0] def 
  10. /ColorSet null def 
  11. /orMode 0 def 
  12. /baseFont null def 
  13. /pattern null def 
  14. /gridFit false def
  15. end
  16. } Bdef
  17. /AugGstate NewAugGstate def 
  18. /AugGsaveStack 31 array def 
  19. 0 1 30 {AugGsaveStack exch NewAugGstate put} for
  20. /AugGsaveSP 0 def 
  21. /AugGsave {
  22. AugGsaveStack AugGsaveSP get 
  23. AugGstate
  24. CopyDict
  25. /AugGsaveSP Inc 
  26. } Bdef
  27. /AugGrestore {
  28. /AugGsaveSP Dec
  29. AugGsaveSP 0 lt {/AugGsave 0 store} if
  30. AugGstate
  31. AugGsaveStack AugGsaveSP get
  32. CopyDict 
  33. } Bdef
  34. /FullGsave {gsave AugGsave} Bdef
  35. /FullGrestore {AugGrestore currentfont grestore setfont} Bdef
  36. /QD2Grestore {
  37. currentlinewidth
  38. currentlinecap
  39. currentlinejoin
  40. currentmiterlimit
  41. CurrGridFit
  42. currentfont
  43. grestore
  44. CurrPat null ne {
  45. SynchPatMatrix
  46. } if
  47. setfont
  48. SetGridFit
  49. setmiterlimit
  50. setlinejoin
  51. setlinecap
  52. setlinewidth
  53. } Bdef
  54. /SetColorSet {
  55. AugGstate /ColorSet 3 -1 roll put
  56. } Bdef
  57. /CurrColorSet {
  58. AugGstate /ColorSet get
  59. } Bdef
  60. /SetBold {
  61. AugGstate /yBold 3 -1 roll put
  62. AugGstate /xBold 3 -1 roll put
  63. } Bdef
  64. /CurrBold {
  65. AugGstate /xBold get
  66. AugGstate /yBold get
  67. } Bdef
  68. /HasBold {
  69. CurrBold 
  70. 0 ne 
  71. exch 0 ne 
  72. or 
  73. } Bdef
  74. languagelevel 2 lt {
  75. /SetGridFit {
  76. AugGstate /gridFit 3 -1 roll put
  77. } Bdef
  78. /CurrGridFit {
  79. AugGstate /gridFit get
  80. } Bdef
  81. } {
  82. /SetGridFit /setstrokeadjust load def
  83. /CurrGridFit /currentstrokeadjust load def
  84. } ifelse
  85. /SetPat {
  86. AugGstate /pattern 3 -1 roll put
  87. } Bdef
  88. /CurrPat { 
  89. AugGstate /pattern get
  90. } Bdef
  91. /SetDash {
  92. dup null eq { 
  93. [] 0 setdash 
  94. } { 
  95. dup type /dicttype ne { 
  96. setdash 
  97. null 
  98. } { 
  99. [] 0 setdash 
  100. } ifelse
  101. } ifelse
  102. AugGstate /dash 3 -1 roll put 
  103. } Bdef
  104. /CurrDash {
  105. AugGstate /dash get
  106. } Bdef
  107. /SetFrame {
  108. AugGstate /frameType 3 -1 roll put
  109. } Bdef
  110. /CurrFrame {
  111. AugGstate /frameType get
  112. } Bdef
  113. /SetRightIsOut {
  114. AugGstate /rightIsOut 3 -1 roll put
  115. } Bdef
  116. /CurrRightIsOut {
  117. AugGstate /rightIsOut get
  118. } Bdef
  119. /SetOrMode {
  120. AugGstate /orMode 3 -1 roll put
  121. } Bdef
  122. /CurrOrMode {
  123. AugGstate /orMode get
  124. } Bdef
  125. /ImageMaskSenseArray [true true true false false] def
  126. /ImageMaskSense {
  127. ImageMaskSenseArray CurrOrMode get
  128. } Bdef
  129. /ImageMaskColorArray [1 1 0 1 0] def
  130. /ImageMaskColor {
  131. ImageMaskColorArray CurrOrMode get
  132. } Bdef
  133. /SetBaseFont {
  134. AugGstate /baseFont 3 -1 roll put
  135. } Bdef
  136. /CurrBaseFont {
  137. AugGstate /baseFont get
  138. } Bdef
  139. /MakeStyleDict {
  140. 10 dict dup begin 
  141. 11 1 roll 
  142. /textSize Xdef
  143. /gridFit Xdef
  144. /mitre Xdef
  145. /join Xdef
  146. /cap Xdef
  147. /pen Xdef
  148. /dash Xdef
  149. /frameType Xdef
  150. /rightIsOut Xdef
  151. /pattern Xdef
  152. end
  153. } Bdef
  154. /nilStyleDict 10 dict dup
  155. begin
  156. /textSize 1 def
  157. /gridFit false def
  158. /mitre 1000 def
  159. /join 0 def
  160. /cap 0 def
  161. /pen 0 def
  162. /dash null def
  163. /frameType 0 def
  164. /rightIsOut F def
  165. /pattern null def
  166. end
  167. def
  168. /SetStyle {
  169. dup /dash get SetDash
  170. dup /pattern get SetPat
  171. dup /rightIsOut get SetRightIsOut
  172. dup /pen get setlinewidth
  173. dup /cap get setlinecap
  174. dup /join get setlinejoin
  175. dup /mitre get setmiterlimit
  176. dup /frameType get SetFrame
  177. /gridFit get SetGridFit
  178. } Bdef
  179. languagelevel 1 gt {
  180. /SynchPatMatrix {
  181. CurrPat null ne { 
  182. CurrPat dup 
  183. /patTransform get makepattern 
  184. SetPat 
  185. } if
  186. } Bdef
  187. } { 
  188. /SynchPatMatrix {
  189. CurrPat null ne {
  190. CurrPat begin
  191. /patTransform [ 
  192. ux uy Grid
  193. vx vy Grid
  194. px py Grid
  195. ] def
  196. /IpatTransform patTransform IpatTransform invertmatrix def
  197. patternFontDict /AdvanceVector get patTransform 0 get 0 exch put
  198. patternFontDict /AdvanceVector get patTransform 1 get 1 exch put
  199. end
  200. } if
  201. } def
  202. } ifelse 
  203.